Disclaimer:

This work is done at author’s own initiative and time, in support of the Fair Vote Canada, Fair Vote BC and One Time Alliance for Democratic Reform. It is not funded by any political party or organization.

1 Introduction

As articulated by www.fairvote.ca, Canada uses a century old First Past The Post (FPTP) electoral system, which favours large parties and greatly disadvantages small parties. Until such system is abolished in favour of more a democratic system, e.g., [proportional representation], [ranking (aka preferencial) voting], or [Second Ballot Majority Runoff] used elsewhere, the parties that have similar agendas will always be disadvantaged due to splitting the votes between them, and have less share of seats in the parliament than their share of popular votes, or may not have any seats at all representing the region (see Figures 1 and 2).

Nevertheless, it is still possible for disadvantaged parties to gain more seats in FPTP system, for all of them – should there be a political will to do that – by building one time alliances and using data science.

This article and the accompanying Web Application, called FPTP Election Strategizer, show how to do that. The concepts of the “Election system bias (ESB)” and “Election fairness score (EFS)” are introduced. A non-partisan data-agnostic approach to reduce ESB and increase country’s EFS is described.

The practical value of the approach is demonstrated using the results from BC provincial elections and the last federal 43-rd Canadian election. It shown then in both cases, the parties there have been most disadvantaged by the FRTP system, which are NDP and Green party, would have both gained more seats by making the one-time-alliances in the riding that are automatically identified by the FPTP Election Strategizer App.

Examples of the FPTP bias: In Prairies (left) and Greater Toronto area (right). Source: www.fairvote.caExamples of the FPTP bias: In Prairies (left) and Greater Toronto area (right). Source: www.fairvote.ca

Examples of the FPTP bias: In Prairies (left) and Greater Toronto area (right). Source: www.fairvote.ca

2 Metholodology

The developed approach is based on a model of what a fair election is and how it can be achieved under various constraints. The following assumptions and simplifications are made.

3 Fair Election premise

It is appreciated that Canada is a multi-regional country, where each region brings its own uniqueness, cultural values and political preferences. Therefore, an electoral system should be designed so as to allow each region to have its own voice (political party colours) in the parliament. In a fair election, the political colours in the parliament represent closely all regional interests. In an unfair election, the political colours in the parliament do not represent all regional interests.

Key Fair Election Premise: Each region has its own political colour presentation in the parliament that closely represents the interests of the region as expressed by the region voters.  Image source: www.fairvote.ca

Key Fair Election Premise: Each region has its own political colour presentation in the parliament that closely represents the interests of the region as expressed by the region voters. Image source: www.fairvote.ca

3.1 Assumptions

3.1.1 Estimating “Ground truth” political preferences in regions

One may never know the exact share (percentage) of population in a given region supporting one party or another, the so called “ground truth” Such ground truth is commonly estimated using one of two methods: a) historical election results , b) latest public opinion polls such as those published by [CBC]((https://newsinteractives.cbc.ca/elections/poll-tracker/canada/), for example.

Each of these has limitations. The former, based on using historical FPTP election results, should be expected to be skewed towards the winner and runner-up(s) (as many votes will vote not for the party they support the most, but for the party who has the largest chance to come first)[2], it shows however riding by riding variation within the same region, and may show the outdated numbers.

[2] https://en.wikipedia.org/wiki/Results_of_the_2019_Canadian_federal_election#Strategic_voting_and_vote_splitting

The latter provides more recent numbers and can be expected to be less skewed (because it is not a real election, and respondents answers do not influence any outcome)

3.2 Concepts and metrics

For the description of the approach the [following terminology][1] is introduced.

[1] The choice of names for terminology is that by the author. It is introduced solely to stimulate the discussion and facilitate the presentation, rather that to be authoritative reference on the subject, which is rather new for the author.

  • Regional electoral system political bias (or FPTP bias for Canada) \(B_{party}^{region}\) is the difference between Seats share and Votes share for a party in a region. Positive bias (\(B_{party}>0\)) indicates that \(party\) takes advantage of the FPTP system in the \(region\). Negative (\(B_{party}<0\)) shows the parties that are disadvantaged by the system in the region.
  • National FPTP bias score \(BF\) : a number assigned to a country based on the election results that aggregates FPTP biased of all regions. A truly democratic national electroral system bias score should be close to zero. In contrast,
  • Election fairness score:
  • Disadvantaged party: …
  • Winnable riding for a party: the riding the party
  • Alliance win-win riding pair: a pair (or a tuple) of winnable ridings where
  • win-win riding pair:
  • Win-win strategy: a
  • One time alliance for democratic election: election-specific alliance between two or more parties aimed at increasing the Election fairness score by means of applying a Win-win strategy.

3.3 Formalization of the problem

Given: an understanding on political preferences in each province/region (from past elections or public opinion polls), expressed a vector of popular vote share (%) given to each political party at each province/region: \(\vec V_{region} = (V^{Lib}, V^{Con}, V^{NDP}, V^{Grn}, V^{Other)})\), obtain: the vector of seats share in the parliment \(\vec S_{region} = (S^{Lib}, S^{Con}, S^{NDP}, S^{Grn}, S^{Other)})\) that is the closest to \(\vec V_{region}\) for each region.

The number of regions can vary from one (country is one big region) to the number of provinces/territories (each one is the region ) and can be used as a parameter that be adjusted in the Application.

3.4 The algorithm

  • Step 1. In each region, compute FPTP Bias for each party (as the difference between share of votes and share of seats the party gets) and find parties that are most disadvantaged by the FPTP. These will be partied that the algorithm will help to achieve better results by using a win-win alliance strategy.
  • Step 2. In each region. Compute Democracy Failure score (%), as the percentage of voters whose vote was not used (ignored/disrespected). This will be the objective function that the algorithm will minimize.

V - Step 3. In each region, find the parties disadvantaged by FPTP (which have the highest negative bias coefficient)

4 Example: Canadian 43-rd election results (2019)

Tables 1 shows the results from 43-rd election election at regional level, organized for easier side-by side comparison of Seats shares \(\vec S_{region}\) to Votes shares \(\vec V_{region}\) for each province.

4.1 RESULTS HHHHHHH

4.1.1 Test

Province Bloc-seats Con-seats Grn-seats Lib-seats NDP-seats Other-seats N Bloc-seat(%) Con-seat(%) Grn-seat(%) Lib-seat(%) NDP-seat(%) Other-seat(%) total Bloc-votes(%) Con-votes(%) Grn-votes(%) Lib-votes(%) NDP-votes(%) Other-votes(%) Bloc-Bias(%) Con-Bias(%) Grn-Bias(%) Lib-Bias(%) NDP-Bias(%) Other-Bias(%) Negated Votes (%) Negated Votes (#)
AB 0 33 0 0 1 0 34 0.0 97.0 0.0 0.0 3.0 0.0 2041445 0.0 69.2 2.8 13.7 11.5 2.7 0.0 27.8 -2.8 -13.7 -8.5 -2.7 27.7 565480
BC 0 17 2 11 11 1 42 0.0 40.0 5.0 26.0 26.0 2.0 2343760 0.0 34.1 12.4 26.1 24.4 3.0 0.0 5.9 -7.4 -0.1 1.6 -1.0 8.5 199219
MB 0 7 0 4 3 0 14 0.0 50.0 0.0 29.0 21.0 0.0 581036 0.0 45.4 5.1 26.3 20.7 2.4 0.0 4.6 -5.1 2.7 0.3 -2.4 7.5 43577
NB 0 3 1 6 0 0 10 0.0 30.0 10.0 60.0 0.0 0.0 435883 0.0 32.8 17.0 37.6 9.4 3.2 0.0 -2.8 -7.0 22.4 -9.4 -3.2 22.4 97637
NL 0 0 0 6 1 0 7 0.0 0.0 0.0 86.0 14.0 0.0 239972 0.0 28.0 3.1 44.7 23.9 0.4 0.0 -28.0 -3.1 41.3 -9.9 -0.4 41.4 99348
NS 0 1 0 10 0 0 11 0.0 9.0 0.0 91.0 0.0 0.0 530837 0.0 25.7 11.0 41.3 18.9 3.0 0.0 -16.7 -11.0 49.7 -18.9 -3.0 49.6 263295
North 0 0 0 2 1 0 3 0.0 0.0 0.0 67.0 33.0 0.0 46109 0.0 29.0 8.8 35.3 25.6 1.2 0.0 -29.0 -8.8 31.7 7.4 -1.2 39.0 17982
ON 0 36 0 79 6 0 121 0.0 30.0 0.0 65.0 5.0 0.0 6787042 0.0 33.2 6.2 41.5 16.8 2.4 0.0 -3.2 -6.2 23.5 -11.8 -2.4 23.6 1601741
PE 0 0 0 4 0 0 4 0.0 0.0 0.0 100.0 0.0 0.0 83037 0.0 27.4 20.9 43.6 7.6 0.5 0.0 -27.4 -20.9 56.4 -7.6 -0.5 56.4 46832
QC 32 10 0 35 1 0 78 41.0 13.0 0.0 45.0 1.0 0.0 4230638 32.5 16.0 4.5 34.2 10.7 2.0 8.5 -3.0 -4.5 10.8 -9.7 -2.0 19.2 812282
SK 0 14 0 0 0 0 14 0.0 100.0 0.0 0.0 0.0 0.0 570505 0.0 64.3 2.5 11.6 19.5 2.1 0.0 35.7 -2.5 -11.6 -19.5 -2.1 35.7 203670
National 32 121 3 157 24 1 338 9.5 35.8 0.9 46.4 7.1 0.3 17890264 7.7 34.4 6.5 33.1 15.9 2.4 1.8 1.4 -5.6 13.3 -8.8 -2.1 16.5 2951893
Prairies 0 21 0 4 3 0 28 0.0 75.0 0.0 14.3 10.7 0.0 1151541 0.0 54.8 3.8 19.0 20.1 2.3 0.0 20.2 -3.8 -4.7 -9.4 -2.3 20.2 232611
Atl+North 0 4 1 28 2 0 35 0.0 11.4 2.9 80.0 5.7 0.0 1335838 0.0 28.6 12.1 40.6 16.2 2.4 0.0 -17.2 -9.2 39.4 -10.5 -2.4 39.3 524984
## tttttttttttttt

4.2

Table 1: Seats share vs. Votes shares in each province. Last column shows election bias factor

4.2.1 Table 1

Table 1: Seats share vs. Votes shares in each province. Last column shows election bias factor
Province Bloc-seats Con-seats Grn-seats Lib-seats NDP-seats Other-seats N Bloc-seat(%) Con-seat(%) Grn-seat(%) Lib-seat(%) NDP-seat(%) Other-seat(%) total Bloc-votes(%) Con-votes(%) Grn-votes(%) Lib-votes(%) NDP-votes(%) Other-votes(%) Bloc-Bias(%) Con-Bias(%) Grn-Bias(%) Lib-Bias(%) NDP-Bias(%) Other-Bias(%) Negated Votes (%) Negated Votes (#)
AB 0 33 0 0 1 0 34 0.0 97.0 0.0 0.0 3.0 0.0 2041445 0.0 69.2 2.8 13.7 11.5 2.7 0.0 27.8 -2.8 -13.7 -8.5 -2.7 27.7 565480
BC 0 17 2 11 11 1 42 0.0 40.0 5.0 26.0 26.0 2.0 2343760 0.0 34.1 12.4 26.1 24.4 3.0 0.0 5.9 -7.4 -0.1 1.6 -1.0 8.5 199219
MB 0 7 0 4 3 0 14 0.0 50.0 0.0 29.0 21.0 0.0 581036 0.0 45.4 5.1 26.3 20.7 2.4 0.0 4.6 -5.1 2.7 0.3 -2.4 7.5 43577
NB 0 3 1 6 0 0 10 0.0 30.0 10.0 60.0 0.0 0.0 435883 0.0 32.8 17.0 37.6 9.4 3.2 0.0 -2.8 -7.0 22.4 -9.4 -3.2 22.4 97637
NL 0 0 0 6 1 0 7 0.0 0.0 0.0 86.0 14.0 0.0 239972 0.0 28.0 3.1 44.7 23.9 0.4 0.0 -28.0 -3.1 41.3 -9.9 -0.4 41.4 99348
NS 0 1 0 10 0 0 11 0.0 9.0 0.0 91.0 0.0 0.0 530837 0.0 25.7 11.0 41.3 18.9 3.0 0.0 -16.7 -11.0 49.7 -18.9 -3.0 49.6 263295
North 0 0 0 2 1 0 3 0.0 0.0 0.0 67.0 33.0 0.0 46109 0.0 29.0 8.8 35.3 25.6 1.2 0.0 -29.0 -8.8 31.7 7.4 -1.2 39.0 17982
ON 0 36 0 79 6 0 121 0.0 30.0 0.0 65.0 5.0 0.0 6787042 0.0 33.2 6.2 41.5 16.8 2.4 0.0 -3.2 -6.2 23.5 -11.8 -2.4 23.6 1601741
PE 0 0 0 4 0 0 4 0.0 0.0 0.0 100.0 0.0 0.0 83037 0.0 27.4 20.9 43.6 7.6 0.5 0.0 -27.4 -20.9 56.4 -7.6 -0.5 56.4 46832
QC 32 10 0 35 1 0 78 41.0 13.0 0.0 45.0 1.0 0.0 4230638 32.5 16.0 4.5 34.2 10.7 2.0 8.5 -3.0 -4.5 10.8 -9.7 -2.0 19.2 812282
SK 0 14 0 0 0 0 14 0.0 100.0 0.0 0.0 0.0 0.0 570505 0.0 64.3 2.5 11.6 19.5 2.1 0.0 35.7 -2.5 -11.6 -19.5 -2.1 35.7 203670
National 32 121 3 157 24 1 338 9.5 35.8 0.9 46.4 7.1 0.3 17890264 7.7 34.4 6.5 33.1 15.9 2.4 1.8 1.4 -5.6 13.3 -8.8 -2.1 16.5 2951893
Prairies 0 21 0 4 3 0 28 0.0 75.0 0.0 14.3 10.7 0.0 1151541 0.0 54.8 3.8 19.0 20.1 2.3 0.0 20.2 -3.8 -4.7 -9.4 -2.3 20.2 232611
Atl+North 0 4 1 28 2 0 35 0.0 11.4 2.9 80.0 5.7 0.0 1335838 0.0 28.6 12.1 40.6 16.2 2.4 0.0 -17.2 -9.2 39.4 -10.5 -2.4 39.3 524984

4.2.2 Interactive table

Table sorted by the share of Votes Ignored: Democracy Failed (%)

Table 2 shows the results at the riding level. Table sorted by t…. The table is interactive version of the table allows one to find the ridings where disadvantaged parties can win, if they team up.

Table 2: Votes distribution in ridings. Last four columns show statistics related to forming one-time alliances"

4.3

4.3.1 Table 2

Table 1: Seats share vs. Votes shares in each province. Last column shows election bias factor
Riding # Province Region Riding Name total 1st 1 2 3 4 5 6 Bloc Con Grn Lib NDP Other
10001 NL Newfoundland and Labrador Avalon 40457 46.1 Lib Con NDP Grn Bloc Other 0.0 31.0 5.4 46.1 17.6 0.0
10002 NL Newfoundland and Labrador Bonavista–Burin–Trinity 32173 45.7 Lib Con NDP Grn Bloc Other 0.0 39.5 2.9 45.7 12.0 0.0
10003 NL Newfoundland and Labrador Coast of Bays–Central–Notre Dame 32924 48.2 Lib Con NDP Grn Bloc Other 0.0 35.5 4.0 48.2 12.3 0.0
10004 NL Newfoundland and Labrador Labrador 11389 42.3 Lib Con NDP Grn Bloc Other 0.0 31.2 2.0 42.3 24.6 0.0
10005 NL Newfoundland and Labrador Long Range Mountains 38385 47.4 Lib Con NDP Grn Other Bloc 0.0 28.3 3.5 47.4 19.8 1.1
10006 NL Newfoundland and Labrador St. John’s East 45130 46.9 NDP Lib Con Grn Bloc Other 0.0 18.1 1.8 33.2 46.9 0.0
10007 NL Newfoundland and Labrador St. John’s South–Mount Pearl 39514 50.9 Lib NDP Con Grn Other Bloc 0.0 19.1 1.8 50.9 27.1 1.2
11001 PE PEI Cardigan 21697 49.3 Lib Con Grn NDP Other Bloc 0.0 29.1 13.9 49.3 6.8 1.1
11002 PE PEI Charlottetown 19252 44.2 Lib Grn Con NDP Other Bloc 0.0 20.4 23.2 44.2 11.4 0.9
11003 PE PEI Egmont 19058 39.4 Lib Con Grn NDP Bloc Other 0.0 34.7 19.7 39.4 6.2 0.0
11004 PE PEI Malpeque 23030 41.4 Lib Grn Con NDP Bloc Other 0.0 25.6 26.5 41.4 6.5 0.0
12001 NS Nova Scotia - Northern Cape Breton–Canso 41857 38.5 Lib Con NDP Grn Other Bloc 0.0 34.6 7.8 38.5 15.0 4.2
12002 NS Nova Scotia - Northern Central Nova 44559 46.5 Lib Con NDP Grn Other Bloc 0.0 29.6 7.8 46.5 13.2 2.8
12003 NS Nova Scotia - West and South Cumberland–Colchester 45450 36.7 Lib Con Grn NDP Other Bloc 0.0 35.7 13.2 36.7 12.0 2.4
12004 NS Nova Scotia - Halifax Dartmouth–Cole Harbour 52585 45.2 Lib NDP Con Grn Other Bloc 0.0 16.1 9.9 45.2 27.0 1.8
12005 NS Nova Scotia - Halifax Halifax 54489 42.4 Lib NDP Grn Con Other Bloc 0.0 11.4 14.2 42.4 30.5 1.5
12006 NS Nova Scotia - Halifax Halifax West 54356 49.5 Lib Con NDP Grn Bloc Other 0.0 19.3 12.1 49.5 19.2 0.0
12007 NS Nova Scotia - West and South Kings–Hants 48035 43.3 Lib Con NDP Grn Other Bloc 0.0 24.8 12.6 43.3 17.2 2.2
12008 NS Nova Scotia - Halifax Sackville–Preston–Chezzetcook 49563 40.2 Lib NDP Con Grn Other Bloc 0.0 22.6 11.6 40.2 23.9 1.7
12009 NS Nova Scotia - West and South South Shore–St. Margarets 52521 41.7 Lib Con NDP Grn Other Bloc 0.0 28.1 11.6 41.7 15.9 2.8
12010 NS Nova Scotia - Northern Sydney–Victoria 40576 30.9 Lib Con NDP Other Grn Bloc 0.0 27.7 5.5 30.9 20.1 15.8
12011 NS Nova Scotia - West and South West Nova 46846 39.3 Con Lib Grn NDP Other Bloc 0.0 39.3 12.7 36.4 10.7 1.0
13001 NB New Brunswick - N and W Acadie–Bathurst 48097 55.1 Lib Con NDP Grn Bloc Other 0.0 21.5 8.9 55.1 14.5 0.0
13002 NB New Brunswick - SE Beauséjour 53630 46.5 Lib Grn Con NDP Other Bloc 0.0 17.6 26.6 46.5 7.3 2.0
13003 NB New Brunswick - SE Fredericton 46841 32.8 Grn Con Lib NDP Other Bloc 0.0 31.1 32.8 27.3 6.0 2.7
13004 NB New Brunswick - SE Fundy Royal 47192 46.0 Con Lib Grn NDP Other Bloc 0.0 46.0 15.0 25.5 9.9 3.7
13005 NB New Brunswick - N and W Madawaska–Restigouche 34535 50.2 Lib Con Grn NDP Bloc Other 0.0 28.4 14.7 50.2 6.7 0.0
13006 NB New Brunswick - N and W Miramichi–Grand Lake 34597 36.8 Lib Con Grn NDP Other Bloc 0.0 35.6 11.3 36.8 8.3 8.0
13007 NB New Brunswick - N and W Moncton–Riverview–Dieppe 51943 42.9 Lib Con Grn NDP Other Bloc 0.0 23.5 18.0 42.9 11.9 3.8
13008 NB New Brunswick - SE New Brunswick Southwest 39648 49.1 Con Lib Grn NDP Other Bloc 0.0 49.1 13.5 25.5 8.2 3.7
13009 NB New Brunswick - SE Saint John–Rothesay 41254 37.4 Lib Con NDP Grn Other Bloc 0.0 34.0 10.1 37.4 12.2 6.3
13010 NB New Brunswick - N and W Tobique–Mactaquac 38146 50.4 Con Lib Grn NDP Other Bloc 0.0 50.4 14.0 25.2 7.9 2.5
24001 QC Laurentides, Outaouis, Nord Abitibi–Baie-James–Nunavik–Eeyou 28925 37.7 Bloc Lib Con NDP Grn Other 37.7 16.6 3.5 28.1 11.9 2.3
24002 QC Laurentides, Outaouis, Nord Abitibi–Témiscamingue 49753 45.4 Bloc Lib Con NDP Grn Other 45.4 15.1 3.5 24.5 9.9 1.5
24003 QC Montreal Nord et Laval Ahuntsic-Cartierville 54152 52.7 Lib Bloc NDP Con Grn Other 21.5 7.3 6.0 52.7 11.4 1.1
24004 QC Montreal Nord et Laval Alfred-Pellan 53954 47.8 Lib Bloc Con NDP Grn Other 28.7 10.9 3.5 47.8 7.7 1.4
24005 QC Laurentides, Outaouis, Nord Argenteuil–La Petite-Nation 49623 37.8 Lib Bloc Con NDP Grn Other 36.4 12.1 4.8 37.8 7.5 1.4
24006 QC Quebec Est Avignon–La Mitis–Matane–Matapédia 35374 51.6 Bloc Lib Con NDP Grn Other 51.6 7.6 1.9 33.9 3.9 1.1
24007 QC Cantons de l’Est Beauce 59125 38.6 Con Other Bloc Lib NDP Grn 14.1 38.6 2.4 11.7 3.0 30.2
24008 QC Quebec Beauport–Limoilou 49532 30.4 Bloc Con Lib NDP Grn Other 30.4 26.0 4.2 26.0 11.2 2.2
24009 QC Québec central Bécancour–Nicolet–Saurel 52053 56.8 Bloc Lib Con NDP Grn Other 56.8 16.1 3.2 17.8 5.2 0.9
24010 QC Quebec Est Bellechasse–Les Etchemins–Lévis 64062 50.3 Con Bloc Lib NDP Grn Other 22.9 50.3 2.9 16.2 5.4 2.4
24011 QC Montérégie Beloeil–Chambly 68919 50.6 Bloc Lib NDP Con Grn Other 50.6 6.2 4.6 23.1 14.5 1.0
24012 QC Québec central Berthier–Maskinongé 56148 37.4 Bloc NDP Lib Con Other Grn 37.4 10.3 1.7 13.9 34.7 1.9
24013 QC Laurentides, Outaouis, Nord Thérèse-De Blainville 59116 41.2 Bloc Lib Con NDP Grn Other 41.2 8.7 4.6 36.7 7.6 1.2
24014 QC Montérégie Pierre-Boucher–Les Patriotes–Verchères 60912 51.7 Bloc Lib Con NDP Grn Other 51.7 8.0 4.7 28.2 6.7 0.6
24015 QC Montreal Nord et Laval Bourassa 39902 57.6 Lib Bloc NDP Con Grn Other 22.5 7.2 3.2 57.6 7.9 1.6
24016 QC Cantons de l’Est Brome–Missisquoi 61098 38.3 Lib Bloc Con NDP Grn Other 34.4 12.6 5.3 38.3 7.9 1.5
24017 QC Montérégie Brossard–Saint-Lambert 55981 54.0 Lib Bloc Con NDP Grn Other 19.7 10.8 5.0 54.0 9.4 1.0
24018 QC Quebec Est Rimouski-Neigette–Témiscouata–Les Basques 45376 38.0 Bloc NDP Lib Con Grn Other 38.0 8.9 1.7 22.0 28.5 0.9
24019 QC Quebec Charlesbourg–Haute-Saint-Charles 58544 38.1 Con Bloc Lib NDP Grn Other 27.3 38.1 3.4 21.3 7.6 2.4
24020 QC Côte-Nord - Saguenay Beauport-Côte-de-Beaupré-Île d’Orléans-Charlevoix 50285 36.4 Bloc Con Lib NDP Other Grn 36.4 29.7 2.6 20.9 5.6 4.7
24021 QC Montérégie Châteauguay–Lacolle 52749 38.7 Lib Bloc Con NDP Grn Other 36.9 11.2 3.6 38.7 7.5 2.1
24022 QC Côte-Nord - Saguenay Chicoutimi–Le Fjord 43268 36.7 Con Bloc Lib NDP Grn Other 35.2 36.7 3.1 17.1 6.4 1.5
24023 QC Cantons de l’Est Compton–Stanstead 57796 37.3 Lib Bloc Con NDP Grn Other 32.0 14.5 5.2 37.3 9.6 1.4
24024 QC Montréal Ouest Dorval–Lachine–LaSalle 51785 53.1 Lib Bloc NDP Con Grn Other 17.0 10.6 5.5 53.1 11.7 2.2
24025 QC Cantons de l’Est Drummond 54315 44.6 Bloc Lib Con NDP Grn Other 44.6 16.7 3.4 17.5 15.9 1.9
24026 QC Quebec Est Gaspésie–Les Îles-de-la-Madeleine 38380 42.5 Lib Bloc Con NDP Grn Other 40.8 7.9 2.9 42.5 4.5 1.4
24027 QC Laurentides, Outaouis, Nord Gatineau 55174 52.2 Lib Bloc NDP Con Grn Other 21.5 10.3 4.0 52.2 10.9 1.1
24028 QC Montréal Est Hochelaga 52162 34.1 Lib Bloc NDP Grn Con Other 33.5 4.5 4.8 34.1 21.4 1.7
24029 QC Montréal Est Honoré-Mercier 49959 58.7 Lib Bloc Con NDP Grn Other 19.8 9.6 2.7 58.7 8.1 1.1
24030 QC Laurentides, Outaouis, Nord Hull–Aylmer 52924 53.8 Lib Bloc NDP Con Grn Other 15.0 9.0 6.8 53.8 13.5 1.9
24031 QC Québec central Joliette 57186 58.6 Bloc Lib Con NDP Grn Other 58.6 9.0 4.0 22.2 4.5 1.7
24032 QC Côte-Nord - Saguenay Jonquière 48863 35.7 Bloc NDP Con Lib Grn Other 35.7 20.9 2.0 16.0 24.4 1.1
24033 QC Montréal Est La Pointe-de-l’Île 54899 47.1 Bloc Lib NDP Con Grn Other 47.1 7.2 3.3 30.4 10.8 1.2
24034 QC Montérégie La Prairie 61306 41.8 Bloc Lib Con NDP Grn Other 41.8 9.0 4.1 36.4 7.9 0.8
24035 QC Côte-Nord - Saguenay Lac-Saint-Jean 53971 44.0 Bloc Lib Con NDP Grn Other 44.0 23.2 1.8 25.2 4.9 0.8
24036 QC Montréal Ouest Lac-Saint-Louis 58320 58.0 Lib Con NDP Grn Bloc Other 5.4 15.3 7.0 58.0 12.2 2.1
24037 QC Montréal Ouest LaSalle–Émard–Verdun 51632 43.6 Lib Bloc NDP Con Grn Other 24.3 7.1 6.7 43.6 16.3 2.0
24038 QC Laurentides, Outaouis, Nord Laurentides–Labelle 65009 47.0 Bloc Lib Con NDP Grn Other 47.0 7.6 4.8 33.1 6.2 1.3
24039 QC Montréal Est Laurier–Sainte-Marie 51801 41.6 Lib NDP Bloc Grn Con Other 23.2 2.8 5.9 41.6 25.1 1.4
24040 QC Montreal Nord et Laval Laval–Les Îles 52119 47.8 Lib Bloc Con NDP Grn Other 20.8 16.5 4.3 47.8 9.0 1.7
24041 QC Montérégie Longueuil–Charles-LeMoyne 49527 39.1 Lib Bloc NDP Con Grn Other 36.6 7.4 5.7 39.1 10.2 1.1
24042 QC Québec central Lévis–Lotbinière 63159 44.7 Con Bloc Lib NDP Other Grn 25.1 44.7 2.9 16.9 6.8 3.5
24043 QC Montérégie Longueuil–Saint-Hubert 59239 38.7 Bloc Lib Grn NDP Con Other 38.7 6.3 11.1 34.2 8.4 1.2
24044 QC Quebec Louis-Hébert 61474 40.5 Lib Bloc Con NDP Grn Other 28.1 17.6 3.9 40.5 7.8 2.1
24045 QC Quebec Louis-Saint-Laurent 64767 44.4 Con Bloc Lib NDP Grn Other 22.5 44.4 3.3 20.9 6.6 2.4
24046 QC Côte-Nord - Saguenay Manicouagan 39906 54.0 Bloc Con Lib NDP Grn Other 54.0 19.3 3.1 19.2 3.6 0.7
24047 QC Cantons de l’Est Mégantic–L’Érable 46628 49.4 Con Bloc Lib NDP Other Grn 25.7 49.4 2.6 15.4 4.1 2.7
24048 QC Laurentides, Outaouis, Nord Mirabel 62708 51.1 Bloc Lib Con NDP Grn Other 51.1 9.2 5.4 24.8 8.1 1.5
24049 QC Montérégie Montarville 58629 43.1 Bloc Lib NDP Con Grn Other 43.1 7.0 4.9 35.6 8.2 1.2
24050 QC Québec central Montcalm 54529 58.1 Bloc Lib Con NDP Grn Other 58.1 9.0 4.4 20.4 6.4 1.7
24051 QC Quebec Est Montmagny–L’Islet–Kamouraska–Rivière-du-Loup 50000 41.9 Con Bloc Lib NDP Grn Other 32.2 41.9 2.0 16.3 6.8 0.8
24052 QC Montréal Ouest Mount Royal 42793 56.4 Lib Con NDP Grn Bloc Other 4.0 25.1 5.3 56.4 8.1 1.0
24053 QC Montréal Ouest Notre-Dame-de-Grâce–Westmount 48355 56.3 Lib NDP Con Grn Bloc Other 4.8 11.4 10.6 56.3 15.4 1.5
24054 QC Montréal Ouest Outremont 39201 47.0 Lib NDP Bloc Grn Con Other 14.2 5.5 12.1 47.0 19.9 1.3
24055 QC Montreal Nord et Laval Papineau 48451 51.2 Lib NDP Bloc Grn Con Other 15.9 4.3 7.6 51.2 18.9 2.1
24056 QC Montréal Ouest Pierrefonds–Dollard 54699 56.5 Lib Con NDP Bloc Grn Other 8.1 17.7 5.1 56.5 10.1 2.4
24057 QC Laurentides, Outaouis, Nord Pontiac 60915 48.9 Lib Con Bloc NDP Grn Other 16.2 16.9 6.0 48.9 10.4 1.7
24058 QC Québec central Portneuf–Jacques-Cartier 63644 43.2 Con Bloc Lib NDP Grn Other 24.3 43.2 3.9 19.9 5.7 3.0
24059 QC Quebec Québec 54355 33.2 Lib Bloc Con NDP Grn Other 32.8 15.0 5.4 33.2 11.4 2.1
24060 QC Québec central Repentigny 64942 53.3 Bloc Lib Con NDP Grn Other 53.3 7.5 3.4 27.7 6.7 1.3
24061 QC Cantons de l’Est Richmond–Arthabaska 58495 45.4 Con Bloc Lib Grn NDP Other 28.2 45.4 5.3 15.2 4.8 1.2
24062 QC Laurentides, Outaouis, Nord Rivière-des-Mille-Îles 57780 40.7 Bloc Lib NDP Con Grn Other 40.7 8.1 5.3 36.0 8.5 1.5
24063 QC Laurentides, Outaouis, Nord Rivière-du-Nord 58578 52.3 Bloc Lib Con NDP Grn Other 52.3 11.8 5.6 22.1 7.0 1.3
24064 QC Montréal Est Rosemont–La Petite-Patrie 59016 42.3 NDP Lib Bloc Grn Con Other 24.0 2.4 5.9 24.1 42.3 1.3
24065 QC Montreal Nord et Laval Marc-Aurèle-Fortin 55351 44.5 Lib Bloc Con NDP Grn Other 32.5 9.7 3.7 44.5 8.3 1.2
24066 QC Cantons de l’Est Saint-Hyacinthe–Bagot 55543 41.4 Bloc Lib NDP Con Grn Other 41.4 14.4 3.6 21.3 18.4 0.9
24067 QC Montérégie Saint-Jean 61354 45.1 Bloc Lib Con NDP Grn Other 45.1 10.5 5.0 30.6 7.7 1.1
24068 QC Montréal Ouest Saint-Laurent 39629 58.7 Lib Con NDP Bloc Grn Other 7.1 17.4 5.3 58.7 10.0 1.4
24069 QC Montreal Nord et Laval Saint-Léonard–Saint-Michel 45000 61.2 Lib Con Bloc Other NDP Grn 9.6 11.9 2.6 61.2 6.4 8.3
24070 QC Québec central Saint-Maurice–Champlain 58029 39.6 Lib Bloc Con NDP Grn Other 34.2 16.4 3.0 39.6 5.2 1.6
24071 QC Montérégie Salaberry–Suroît 62568 47.8 Bloc Lib Con NDP Grn Other 47.8 9.7 3.1 29.6 7.9 1.8
24072 QC Cantons de l’Est Shefford 60552 38.7 Bloc Lib Con NDP Grn Other 38.7 12.3 4.6 37.1 6.0 1.3
24073 QC Cantons de l’Est Sherbrooke 59850 29.3 Lib NDP Bloc Con Grn Other 25.8 10.7 4.5 29.3 28.3 1.4
24074 QC Montérégie Vaudreuil–Soulanges 67564 47.3 Lib Bloc Con NDP Grn Other 24.5 11.4 5.0 47.3 10.7 1.0
24075 QC Laurentides, Outaouis, Nord Terrebonne 60579 50.8 Bloc Lib Con NDP Grn Other 50.8 7.6 3.7 29.1 7.5 1.4
24076 QC Québec central Trois-Rivières 60208 28.5 Bloc Lib Con NDP Grn Other 28.5 25.2 2.4 26.0 16.6 1.2
24077 QC Montréal Ouest Ville-Marie–Le Sud-Ouest–Île-des-Soeurs 51054 53.1 Lib NDP Bloc Con Grn Other 13.5 9.1 7.0 53.1 15.5 1.9
24078 QC Montreal Nord et Laval Vimy 55115 47.5 Lib Bloc Con NDP Grn Other 27.9 10.8 3.8 47.5 8.6 1.3
35001 ON Durham and York Ajax 60377 56.9 Lib Con NDP Grn Other Bloc 0.0 26.9 3.3 56.9 11.3 1.6
35002 ON Northern Ontario Algoma–Manitoulin–Kapuskasing 40209 41.6 NDP Con Lib Grn Other Bloc 0.0 26.3 5.3 24.3 41.6 2.5
35003 ON Durham and York Aurora–Oak Ridges–Richmond Hill 52162 44.7 Con Lib NDP Grn Other Bloc 0.0 44.7 4.0 42.2 7.1 2.0
35004 ON Central Ontario Barrie–Innisfil 53600 44.0 Con Lib NDP Grn Other Bloc 0.0 44.0 8.6 29.2 16.3 1.9
35005 ON Central Ontario Barrie–Springwater–Oro-Medonte 53254 39.2 Con Lib NDP Grn Other Bloc 0.0 39.2 13.1 31.2 14.8 1.8
35006 ON Eastern Ontario Bay of Quinte 61953 39.3 Lib Con NDP Grn Other Bloc 0.0 36.9 6.0 39.3 15.8 1.9
35007 ON Central Toronto Beaches–East York 56206 57.2 Lib NDP Con Grn Other Bloc 0.0 14.2 5.9 57.2 21.3 1.5
35008 ON Brampton, Miss. and Oakville Brampton Centre 39278 47.2 Lib Con NDP Grn Other Bloc 0.0 27.0 4.2 47.2 19.6 2.0
35009 ON Brampton, Miss. and Oakville Brampton East 50078 47.4 Lib NDP Con Grn Other Bloc 0.0 24.1 1.4 47.4 26.1 1.1
35010 ON Brampton, Miss. and Oakville Brampton North 49958 51.4 Lib Con NDP Grn Other Bloc 0.0 27.8 3.0 51.4 16.8 1.0
35011 ON Brampton, Miss. and Oakville Brampton South 48171 49.5 Lib Con NDP Grn Other Bloc 0.0 28.6 3.9 49.5 16.3 1.8
35012 ON Brampton, Miss. and Oakville Brampton West 53007 53.6 Lib Con NDP Grn Other Bloc 0.0 23.9 2.3 53.6 18.3 1.8
35013 ON Midwest Ontario - S Brantford–Brant 66068 40.4 Con Lib NDP Grn Other Bloc 0.0 40.4 6.3 30.7 19.6 3.0
35014 ON Central Ontario Bruce–Grey–Owen Sound 57522 46.2 Con Lib NDP Grn Other Bloc 0.0 46.2 8.7 30.0 11.6 3.5
35015 ON Hamilton, Burl & Niagara Burlington 70888 48.3 Lib Con NDP Grn Other Bloc 0.0 33.1 6.5 48.3 10.8 1.4
35016 ON Midwest Ontario - Kitch.-Waterloo Cambridge 57295 39.5 Lib Con NDP Grn Other Bloc 0.0 30.2 7.5 39.5 19.2 3.7
35017 ON Southwest Ontario Chatham-Kent–Leamington 53728 47.1 Con Lib NDP Grn Other Bloc 0.0 47.1 4.1 31.2 15.1 2.5
35018 ON Central Toronto Davenport 52303 43.6 Lib NDP Con Grn Other Bloc 0.0 9.6 4.5 43.6 40.8 1.5
35019 ON Suburban Toronto Don Valley East 41734 59.7 Lib Con NDP Grn Other Bloc 0.0 24.0 3.9 59.7 11.0 1.3
35020 ON Suburban Toronto Don Valley North 45704 50.3 Lib Con NDP Grn Other Bloc 0.0 35.7 3.9 50.3 9.1 1.0
35021 ON Central Toronto Don Valley West 51017 55.7 Lib Con NDP Grn Other Bloc 0.0 31.3 4.2 55.7 7.4 1.4
35022 ON Central Ontario Dufferin–Caledon 67956 42.3 Con Lib NDP Grn Other Bloc 0.0 42.3 10.7 32.9 11.5 2.7
35023 ON Durham and York Durham 72423 42.3 Con Lib NDP Grn Other Bloc 0.0 42.3 5.4 32.2 18.1 2.0
35024 ON Central Toronto Eglinton–Lawrence 55109 53.3 Lib Con NDP Grn Other Bloc 0.0 32.5 4.7 53.3 8.4 1.1
35025 ON Southwest Ontario Elgin–Middlesex–London 61288 50.4 Con Lib NDP Grn Other Bloc 0.0 50.4 5.7 23.1 17.8 3.0
35026 ON Southwest Ontario Essex 67686 41.6 Con NDP Lib Grn Other Bloc 0.0 41.6 3.2 19.0 34.5 1.8
35027 ON Suburban Toronto Etobicoke Centre 62390 51.8 Lib Con NDP Grn Other Bloc 0.0 34.6 4.4 51.8 7.6 1.5
35028 ON Suburban Toronto Etobicoke–Lakeshore 68588 51.8 Lib Con NDP Grn Other Bloc 0.0 28.9 5.9 51.8 11.9 1.6
35029 ON Suburban Toronto Etobicoke North 42685 61.3 Lib Con NDP Other Grn Bloc 0.0 22.1 2.6 61.3 11.1 3.0
35030 ON Hamilton, Burl & Niagara Flamborough–Glanbrook 62937 38.7 Con Lib NDP Grn Other Bloc 0.0 38.7 6.0 37.7 16.1 1.5
35031 ON Eastern Ontario Glengarry–Prescott–Russell 63297 47.4 Lib Con NDP Grn Other Bloc 0.0 36.1 3.2 47.4 10.5 2.9
35032 ON Midwest Ontario - Kitch.-Waterloo Guelph 74059 40.4 Lib Grn Con NDP Other Bloc 0.0 19.4 25.4 40.4 12.2 2.6
35033 ON Midwest Ontario - S Haldimand–Norfolk 58372 46.8 Con Lib NDP Grn Other Bloc 0.0 46.8 8.1 24.5 15.4 5.3
35034 ON Central Ontario Haliburton–Kawartha Lakes–Brock 65015 49.2 Con Lib NDP Grn Other Bloc 0.0 49.2 8.3 25.9 14.7 1.9
35035 ON Hamilton, Burl & Niagara Hamilton Centre 43528 46.1 NDP Lib Con Grn Other Bloc 0.0 14.5 7.6 28.7 46.1 3.1
35036 ON Hamilton, Burl & Niagara Hamilton East–Stoney Creek 51639 38.5 Lib NDP Con Grn Other Bloc 0.0 25.2 5.5 38.5 28.7 2.1
35037 ON Hamilton, Burl & Niagara Hamilton Mountain 52273 36.1 NDP Lib Con Grn Other Bloc 0.0 25.5 5.9 30.3 36.1 2.3
35038 ON Hamilton, Burl & Niagara Hamilton West–Ancaster–Dundas 64131 46.4 Lib Con NDP Grn Other Bloc 0.0 26.8 7.4 46.4 17.7 1.6
35039 ON Eastern Ontario Hastings–Lennox and Addington 51321 41.4 Con Lib NDP Grn Other Bloc 0.0 41.4 5.8 37.0 13.3 2.5
35040 ON Midwest Ontario - NW Huron–Bruce 60330 48.7 Con Lib NDP Grn Other Bloc 0.0 48.7 4.4 33.0 12.1 1.8
35041 ON Ottawa Kanata–Carleton 64613 43.0 Lib Con NDP Grn Other Bloc 0.0 36.7 6.5 43.0 12.4 1.4
35042 ON Northern Ontario Kenora 27304 34.1 Con Lib NDP Grn Other Bloc 0.0 34.1 5.4 30.0 28.5 2.0
35043 ON Durham and York King–Vaughan 63199 44.9 Lib Con NDP Grn Other Bloc 0.0 43.4 3.9 44.9 6.6 1.1
35044 ON Eastern Ontario Kingston and the Islands 66672 46.0 Lib NDP Con Grn Other Bloc 0.0 19.2 8.8 46.0 23.4 2.6
35045 ON Midwest Ontario - Kitch.-Waterloo Kitchener Centre 54659 36.6 Lib Grn Con NDP Other Bloc 0.0 24.0 26.0 36.6 11.1 2.2
35046 ON Midwest Ontario - Kitch.-Waterloo Kitchener–Conestoga 50763 39.6 Lib Con NDP Grn Other Bloc 0.0 39.1 9.6 39.6 10.1 1.5
35047 ON Midwest Ontario - Kitch.-Waterloo Kitchener South–Hespeler 51694 40.1 Lib Con NDP Grn Other Bloc 0.0 33.6 10.9 40.1 13.3 2.2
35048 ON Southwest Ontario Lambton–Kent–Middlesex 57864 49.2 Con Lib NDP Grn Other Bloc 0.0 49.2 5.9 25.3 15.9 3.7
35049 ON Eastern Ontario Lanark–Frontenac–Kingston 60868 48.3 Con Lib NDP Grn Other Bloc 0.0 48.3 11.1 24.5 14.3 1.8
35050 ON Eastern Ontario Leeds-Grenville-Thousand Islands and Rideau Lakes 57799 49.2 Con Lib NDP Grn Other Bloc 0.0 49.2 8.7 26.4 14.0 1.7
35051 ON Southwest Ontario London–Fanshawe 54933 40.9 NDP Lib Con Grn Other Bloc 0.0 24.8 5.0 26.7 40.9 2.6
35052 ON Southwest Ontario London North Centre 59777 42.7 Lib Con NDP Grn Other Bloc 0.0 23.9 7.5 42.7 23.3 2.6
35053 ON Southwest Ontario London West 70234 42.8 Lib Con NDP Grn Other Bloc 0.0 28.1 5.4 42.8 21.4 2.4
35054 ON Durham and York Markham–Stouffville 63654 38.9 Lib Con Other NDP Grn Bloc 0.0 30.7 2.5 38.9 6.3 21.6
35055 ON Durham and York Markham–Thornhill 44330 53.7 Lib Con NDP Grn Other Bloc 0.0 34.7 2.7 53.7 7.3 1.4
35056 ON Durham and York Markham–Unionville 52464 49.3 Con Lib NDP Grn Other Bloc 0.0 49.3 4.4 38.2 6.5 1.6
35057 ON Hamilton, Burl & Niagara Milton 59005 51.6 Lib Con NDP Grn Other Bloc 0.0 36.4 4.6 51.6 6.4 1.0
35058 ON Brampton, Miss. and Oakville Mississauga Centre 52948 55.7 Lib Con NDP Grn Other Bloc 0.0 29.8 3.1 55.7 9.5 2.0
35059 ON Brampton, Miss. and Oakville Mississauga East–Cooksville 51079 53.0 Lib Con NDP Grn Other Bloc 0.0 33.7 3.0 53.0 8.7 1.6
35060 ON Brampton, Miss. and Oakville Mississauga–Erin Mills 57954 53.3 Lib Con NDP Grn Other Bloc 0.0 33.0 3.7 53.3 8.9 1.1
35061 ON Brampton, Miss. and Oakville Mississauga–Lakeshore 60129 48.2 Lib Con NDP Grn Other Bloc 0.0 37.5 4.6 48.2 8.3 1.4
35062 ON Brampton, Miss. and Oakville Mississauga–Malton 47893 57.4 Lib Con NDP Grn Other Bloc 0.0 26.0 2.5 57.4 12.4 1.6
35063 ON Brampton, Miss. and Oakville Mississauga–Streetsville 57899 50.2 Lib Con NDP Grn Other Bloc 0.0 33.2 4.7 50.2 10.3 1.7
35064 ON Ottawa Nepean 68191 45.6 Lib Con NDP Grn Other Bloc 0.0 33.5 6.4 45.6 13.0 1.5
35065 ON Durham and York Newmarket–Aurora 60468 42.9 Lib Con NDP Grn Other Bloc 0.0 38.2 5.7 42.9 10.6 2.6
35066 ON Hamilton, Burl & Niagara Niagara Centre 57510 35.0 Lib Con NDP Grn Other Bloc 0.0 31.1 5.2 35.0 26.7 2.0
35067 ON Hamilton, Burl & Niagara Niagara Falls 68111 35.6 Con Lib NDP Other Grn Bloc 0.0 35.6 4.8 32.4 18.0 9.1
35068 ON Hamilton, Burl & Niagara Niagara West 52682 45.5 Con Lib NDP Grn Other Bloc 0.0 45.5 6.6 32.2 12.1 3.5
35069 ON Northern Ontario Nickel Belt 48524 39.0 Lib NDP Con Grn Other Bloc 0.0 21.2 5.4 39.0 32.1 2.4
35070 ON Northern Ontario Nipissing–Timiskaming 45173 40.1 Lib Con NDP Grn Other Bloc 0.0 27.3 6.5 40.1 20.8 5.3
35071 ON Central Ontario Northumberland–Peterborough South 68268 39.9 Con Lib NDP Grn Other Bloc 0.0 39.9 7.9 36.2 13.9 2.1
35072 ON Brampton, Miss. and Oakville Oakville 61882 46.3 Lib Con NDP Grn Other Bloc 0.0 38.9 5.6 46.3 7.8 1.5
35073 ON Brampton, Miss. and Oakville Oakville North–Burlington 68452 48.1 Lib Con NDP Grn Other Bloc 0.0 38.3 4.2 48.1 8.3 1.1
35074 ON Durham and York Oshawa 61614 38.9 Con NDP Lib Grn Other Bloc 0.0 38.9 5.1 25.3 28.5 2.2
35075 ON Ottawa Ottawa Centre 75448 48.5 Lib NDP Con Grn Other Bloc 0.0 12.6 7.3 48.5 29.2 2.3
35076 ON Ottawa Orléans 80198 54.3 Lib Con NDP Grn Other Bloc 0.0 28.3 4.6 54.3 11.6 1.2
35077 ON Ottawa Ottawa South 63752 52.4 Lib Con NDP Grn Other Bloc 0.0 24.6 5.4 52.4 15.9 1.6
35078 ON Ottawa Ottawa–Vanier 62185 50.6 Lib NDP Con Grn Other Bloc 0.0 17.3 7.3 50.6 21.0 3.8
35079 ON Ottawa Ottawa West–Nepean 60699 45.5 Lib Con NDP Grn Other Bloc 0.0 27.2 6.3 45.5 18.8 2.3
35080 ON Midwest Ontario - S Oxford 60469 48.3 Con NDP Lib Grn Other Bloc 0.0 48.3 7.8 19.2 20.2 4.6
35081 ON Central Toronto Parkdale–High Park 59952 47.4 Lib NDP Con Grn Other Bloc 0.0 13.3 6.5 47.4 31.3 1.5
35082 ON Northern Ontario Parry Sound–Muskoka 54080 41.9 Con Lib Grn NDP Other Bloc 0.0 41.9 15.3 30.4 11.7 0.7
35083 ON Midwest Ontario - NW Perth–Wellington 54921 46.4 Con Lib NDP Grn Other Bloc 0.0 46.4 8.9 27.0 14.7 3.0
35084 ON Central Ontario Peterborough–Kawartha 68854 39.2 Lib Con NDP Grn Other Bloc 0.0 35.0 7.1 39.2 17.0 1.8
35085 ON Durham and York Pickering–Uxbridge 62751 51.0 Lib Con NDP Grn Other Bloc 0.0 29.2 5.9 51.0 11.9 2.0
35086 ON Eastern Ontario Renfrew–Nipissing–Pembroke 57506 52.7 Con Lib NDP Other Grn Bloc 0.0 52.7 5.4 19.7 14.9 7.3
35087 ON Durham and York Richmond Hill 50249 43.4 Lib Con NDP Grn Other Bloc 0.0 43.2 3.4 43.4 8.8 1.3
35088 ON Ottawa Carleton 67935 46.6 Con Lib NDP Grn Other Bloc 0.0 46.6 4.9 38.2 9.3 1.1
35089 ON Hamilton, Burl & Niagara St. Catharines 59370 40.1 Lib Con NDP Grn Other Bloc 0.0 31.8 6.1 40.1 20.6 1.4
35090 ON Central Toronto Toronto–St. Paul’s 58850 54.8 Lib Con NDP Grn Other Bloc 0.0 21.4 6.7 54.8 15.6 1.6
35091 ON Southwest Ontario Sarnia–Lambton 57084 49.6 Con NDP Lib Grn Other Bloc 0.0 49.6 4.3 20.7 21.7 3.7
35092 ON Northern Ontario Sault Ste. Marie 41267 39.0 Lib Con NDP Grn Other Bloc 0.0 32.4 4.3 39.0 22.6 1.8
35093 ON Suburban Toronto Scarborough–Agincourt 41247 50.4 Lib Con NDP Grn Other Bloc 0.0 37.3 2.5 50.4 8.6 1.2
35094 ON Suburban Toronto Scarborough Centre 46076 55.2 Lib Con NDP Other Grn Bloc 0.0 22.4 2.9 55.2 11.6 8.0
35095 ON Suburban Toronto Scarborough–Guildwood 42219 61.1 Lib Con NDP Grn Other Bloc 0.0 22.5 2.8 61.1 11.1 2.5
35096 ON Suburban Toronto Scarborough North 38492 53.5 Lib Con NDP Grn Other Bloc 0.0 30.5 2.0 53.5 12.8 1.2
35097 ON Suburban Toronto Scarborough–Rouge Park 50305 62.3 Lib Con NDP Grn Other Bloc 0.0 20.1 4.6 62.3 11.4 1.6
35098 ON Suburban Toronto Scarborough Southwest 50106 57.2 Lib Con NDP Grn Other Bloc 0.0 20.8 4.8 57.2 15.6 1.6
35099 ON Central Ontario Simcoe–Grey 74226 43.7 Con Lib Grn NDP Other Bloc 0.0 43.7 11.3 31.5 11.2 2.2
35100 ON Central Ontario Simcoe North 62302 43.5 Con Lib NDP Grn Other Bloc 0.0 43.5 9.3 30.7 14.0 2.4
35101 ON Central Toronto Spadina–Fort York 59648 55.4 Lib NDP Con Grn Other Bloc 0.0 17.6 5.1 55.4 20.5 1.4
35102 ON Eastern Ontario Stormont–Dundas–South Glengarry 53258 54.2 Con Lib NDP Grn Other Bloc 0.0 54.2 3.9 25.5 14.2 2.2
35103 ON Northern Ontario Sudbury 47708 40.8 Lib NDP Con Grn Other Bloc 0.0 20.5 6.7 40.8 28.9 3.2
35104 ON Durham and York Thornhill 53432 54.4 Con Lib NDP Grn Other Bloc 0.0 54.4 2.9 35.3 6.7 0.6
35105 ON Northern Ontario Thunder Bay–Rainy River 40541 35.4 Lib Con NDP Grn Other Bloc 0.0 29.6 4.4 35.4 28.9 1.8
35106 ON Northern Ontario Thunder Bay–Superior North 42178 42.6 Lib Con NDP Grn Other Bloc 0.0 25.8 8.3 42.6 21.3 2.0
35107 ON Northern Ontario Timmins–James Bay 36068 39.8 NDP Con Lib Other Grn Bloc 0.0 27.1 3.4 26.2 39.8 3.4
35108 ON Central Toronto Toronto Centre 53299 57.4 Lib NDP Con Grn Other Bloc 0.0 12.1 7.0 57.4 22.3 1.2
35109 ON Central Toronto Toronto–Danforth 56990 47.6 Lib NDP Con Grn Other Bloc 0.0 10.6 6.5 47.6 33.2 2.2
35110 ON Central Toronto University–Rosedale 54604 51.4 Lib NDP Con Grn Other Bloc 0.0 16.5 8.4 51.4 22.0 1.7
35111 ON Durham and York Vaughan–Woodbridge 50010 51.3 Lib Con NDP Grn Other Bloc 0.0 36.4 2.6 51.3 7.7 2.0
35112 ON Midwest Ontario - Kitch.-Waterloo Waterloo 62791 48.7 Lib Con NDP Grn Other Bloc 0.0 24.7 9.7 48.7 15.2 1.7
35113 ON Midwest Ontario - Kitch.-Waterloo Wellington–Halton Hills 68760 47.7 Con Lib Grn NDP Other Bloc 0.0 47.7 12.6 28.3 9.2 2.2
35114 ON Durham and York Whitby 68059 43.7 Lib Con NDP Grn Other Bloc 0.0 35.7 5.4 43.7 14.0 1.2
35115 ON Suburban Toronto Willowdale 44639 49.1 Lib Con NDP Grn Other Bloc 0.0 36.2 3.6 49.1 9.2 1.8
35116 ON Soutwest Ontario Windsor–Tecumseh 56512 33.4 Lib NDP Con Grn Other Bloc 0.0 27.9 3.8 33.4 32.3 2.6
35117 ON Southwest Ontario Windsor West 51539 40.1 NDP Lib Con Grn Other Bloc 0.0 19.1 2.5 36.3 40.1 2.0
35118 ON Suburban Toronto York Centre 42588 50.3 Lib Con NDP Grn Bloc Other 0.0 36.6 3.2 50.3 9.8 0.0
35119 ON Central Ontario York–Simcoe 53303 46.5 Con Lib NDP Grn Other Bloc 0.0 46.5 8.7 26.7 14.0 4.1
35120 ON Central Toronto York South–Weston 44788 57.2 Lib NDP Con Grn Other Bloc 0.0 18.7 3.6 57.2 18.8 1.7
35121 ON Suburban Toronto Humber River–Black Creek 37636 61.1 Lib NDP Con Grn Other Bloc 0.0 16.3 2.1 61.1 18.9 1.6
46001 MB Rural Manitoba Brandon–Souris 40536 63.5 Con NDP Lib Grn Other Bloc 0.0 63.5 7.2 12.1 14.0 3.1
46002 MB Winnipeg Charleswood–St. James–Assiniboia–Headingley 45510 40.7 Con Lib NDP Other Grn Bloc 0.0 40.7 4.6 35.4 14.2 4.9
46003 MB Rural Manitoba Churchill–Keewatinook Aski 22311 49.9 NDP Lib Con Grn Other Bloc 0.0 20.8 5.0 23.0 49.9 1.3
46004 MB Rural Manitoba Dauphin–Swan River–Neepawa 38686 64.5 Con NDP Lib Grn Other Bloc 0.0 64.5 5.4 13.2 14.0 3.0
46005 MB Winnipeg Elmwood–Transcona 43532 45.6 NDP Con Lib Grn Other Bloc 0.0 37.7 3.4 12.1 45.6 1.2
46006 MB Winnipeg Kildonan–St. Paul 43768 45.0 Con Lib NDP Grn Other Bloc 0.0 45.0 4.0 27.8 21.0 2.2
46007 MB Rural Manitoba Portage–Lisgar 44227 71.0 Con Lib NDP Grn Other Bloc 0.0 71.0 5.2 10.7 8.6 4.6
46008 MB Rural Manitoba Provencher 48023 65.8 Con Lib NDP Grn Other Bloc 0.0 65.8 6.1 13.0 12.7 2.4
46009 MB Winnipeg Saint Boniface–Saint Vital 46724 42.7 Lib Con NDP Grn Other Bloc 0.0 32.7 5.6 42.7 17.0 2.0
46010 MB Rural Manitoba Selkirk–Interlake–Eastman 48974 62.8 Con NDP Lib Grn Other Bloc 0.0 62.8 5.9 12.0 17.9 1.4
46011 MB Winnipeg Winnipeg Centre 31066 41.3 NDP Lib Con Grn Other Bloc 0.0 17.8 5.2 33.4 41.3 2.3
46012 MB Winnipeg Winnipeg North 31528 47.2 Lib NDP Con Other Grn Bloc 0.0 21.1 2.8 47.2 26.1 2.9
46013 MB Winnipeg Winnipeg South 47199 42.1 Lib Con NDP Grn Other Bloc 0.0 38.8 4.3 42.1 13.9 0.9
46014 MB Winnipeg Winnipeg South Centre 48952 45.2 Lib Con NDP Grn Other Bloc 0.0 29.8 6.2 45.2 17.6 1.3
47001 SK North Saskatchewan Battlefords–Lloydminster 35189 79.0 Con NDP Lib Other Grn Bloc 0.0 79.0 1.7 6.3 11.2 1.8
47002 SK South Saskachewan Cypress Hills–Grasslands 38048 81.2 Con NDP Lib Other Grn Bloc 0.0 81.2 1.8 4.1 9.5 3.4
47003 SK North Saskatchewan Desnethé–Missinippi–Churchill River 25924 41.7 Con NDP Lib Grn Other Bloc 0.0 41.7 1.9 26.6 28.9 0.8
47004 SK North Saskatchewan Carlton Trail–Eagle Creek 44217 78.7 Con NDP Lib Other Grn Bloc 0.0 78.7 1.9 4.6 12.2 2.6
47005 SK South Saskachewan Moose Jaw–Lake Centre–Lanigan 43273 71.2 Con NDP Lib Other Grn Bloc 0.0 71.2 2.6 5.5 17.1 3.6
47006 SK North Saskatchewan Prince Albert 39201 68.0 Con NDP Lib Other Grn Bloc 0.0 68.0 2.1 10.1 17.4 2.4
47007 SK South Saskachewan Regina–Lewvan 50772 52.9 Con NDP Lib Grn Other Bloc 0.0 52.9 4.0 13.0 28.5 1.6
47008 SK South Saskachewan Regina–Qu’Appelle 38057 63.7 Con NDP Lib Grn Other Bloc 0.0 63.7 3.2 11.3 19.8 2.0
47009 SK South Saskachewan Regina–Wascana 44767 49.6 Con Lib NDP Grn Other Bloc 0.0 49.6 2.9 33.5 12.8 1.3
47010 SK North Saskatchewan Saskatoon–Grasswood 48466 53.7 Con NDP Lib Grn Other Bloc 0.0 53.7 2.6 16.9 25.4 1.4
47011 SK North Saskatchewan Saskatoon–University 46372 52.3 Con NDP Lib Grn Other Bloc 0.0 52.3 2.9 13.0 29.7 2.1
47012 SK North Saskatchewan Saskatoon West 38189 48.2 Con NDP Lib Grn Other Bloc 0.0 48.2 2.6 7.2 40.0 2.0
47013 SK South Saskachewan Souris–Moose Mountain 40180 84.4 Con NDP Lib Other Grn Bloc 0.0 84.4 1.6 4.1 7.7 2.1
47014 SK South Saskachewan Yorkton–Melville 37850 76.5 Con NDP Lib Grn Other Bloc 0.0 76.5 2.7 6.3 12.1 2.4
48001 AB Rural Alberta Banff–Airdrie 76595 71.3 Con Lib NDP Grn Other Bloc 0.0 71.3 4.2 10.7 10.4 3.4
48002 AB Rural Alberta Battle River–Crowfoot 61404 85.5 Con NDP Lib Grn Other Bloc 0.0 85.5 2.8 4.0 5.0 2.6
48003 AB Rural Alberta Bow River 54357 84.1 Con Lib NDP Other Grn Bloc 0.0 84.1 1.5 5.7 5.5 3.2
48004 AB Calgary Calgary Centre 63934 56.9 Con Lib NDP Grn Other Bloc 0.0 56.9 4.3 26.9 9.8 2.1
48005 AB Calgary Calgary Confederation 64345 55.4 Con Lib NDP Grn Other Bloc 0.0 55.4 8.5 22.5 11.1 2.5
48006 AB Calgary Calgary Forest Lawn 39431 59.8 Con Lib NDP Other Grn Bloc 0.0 59.8 3.3 21.7 10.5 4.8
48007 AB Calgary Calgary Heritage 55202 70.8 Con Lib NDP Grn Other Bloc 0.0 70.8 3.5 13.9 9.1 2.7
48008 AB Calgary Calgary Midnapore 66717 74.5 Con Lib NDP Grn Other Bloc 0.0 74.5 2.9 11.0 9.3 2.3
48009 AB Calgary Calgary Nose Hill 54281 69.9 Con Lib NDP Grn Other Bloc 0.0 69.9 2.7 15.9 9.4 2.1
48010 AB Calgary Calgary Rocky Ridge 69258 68.6 Con Lib NDP Grn Other Bloc 0.0 68.6 2.8 18.3 8.5 1.9
48011 AB Calgary Calgary Shepard 76885 75.2 Con Lib NDP Grn Other Bloc 0.0 75.2 3.0 11.0 8.6 2.2
48012 AB Calgary Calgary Signal Hill 61870 70.4 Con Lib NDP Grn Other Bloc 0.0 70.4 3.3 15.1 8.3 2.9
48013 AB Calgary Calgary Skyview 49874 52.5 Con Lib NDP Other Grn Bloc 0.0 52.5 1.6 28.3 14.9 2.7
48014 AB Edmonton and around Edmonton Centre 51745 41.7 Con Lib NDP Grn Other Bloc 0.0 41.7 2.6 32.9 20.6 2.3
48015 AB Edmonton and around Edmonton Griesbach 45977 51.2 Con NDP Lib Other Grn Bloc 0.0 51.2 2.6 17.0 25.0 4.2
48016 AB Edmonton and around Edmonton Manning 51125 56.4 Con Lib NDP Other Grn Bloc 0.0 56.4 2.2 21.3 17.5 2.6
48017 AB Edmonton and around Edmonton Mill Woods 52417 50.4 Con Lib NDP Other Grn Bloc 0.0 50.4 1.8 33.6 12.0 2.2
48018 AB Edmonton and around Edmonton Riverbend 59661 57.8 Con Lib NDP Grn Other Bloc 0.0 57.8 2.9 22.8 15.1 1.4
48019 AB Edmonton and around Edmonton Strathcona 55381 47.3 NDP Con Lib Other Grn Bloc 0.0 37.3 1.9 11.5 47.3 2.0
48020 AB Edmonton and around Edmonton West 57589 61.1 Con Lib NDP Grn Other Bloc 0.0 61.1 2.4 20.1 14.5 1.9
48021 AB Edmonton and around Edmonton–Wetaskiwin 85093 72.5 Con Lib NDP Other Grn Bloc 0.0 72.5 1.9 12.1 11.3 2.2
48022 AB Rural Alberta Foothills 64290 82.3 Con Lib NDP Grn Other Bloc 0.0 82.3 3.6 5.9 5.7 2.6
48023 AB Rural Alberta Fort McMurray–Cold Lake 49680 80.0 Con Lib NDP Other Grn Bloc 0.0 80.0 1.7 9.5 5.6 3.2
48024 AB Rural Alberta Grande Prairie–Mackenzie 59936 84.2 Con NDP Lib Other Grn Bloc 0.0 84.2 1.9 4.7 6.8 2.5
48025 AB Rural Alberta Lakeland 56573 84.1 Con NDP Lib Other Grn Bloc 0.0 84.1 1.9 4.4 6.4 3.2
48026 AB Rural Alberta Lethbridge 63339 65.6 Con NDP Lib Grn Other Bloc 0.0 65.6 3.2 13.6 14.9 2.7
48027 AB Rural Alberta Medicine Hat–Cardston–Warner 52334 79.3 Con NDP Lib Other Grn Bloc 0.0 79.3 2.2 6.6 8.7 3.2
48028 AB Rural Alberta Peace River–Westlock 50945 80.8 Con NDP Lib Other Grn Bloc 0.0 80.8 2.6 6.0 7.5 3.1
48029 AB Rural Alberta Red Deer–Mountain View 67277 80.4 Con NDP Lib Other Grn Bloc 0.0 80.4 3.0 5.5 7.2 3.9
48030 AB Rural Alberta Red Deer–Lacombe 65950 79.9 Con NDP Lib Other Grn Bloc 0.0 79.9 2.3 5.2 8.9 3.7
48031 AB Edmonton and around St. Albert–Edmonton 63850 60.8 Con Lib NDP Other Grn Bloc 0.0 60.8 2.4 19.1 15.1 2.5
48032 AB Edmonton and around Sherwood Park–Fort Saskatchewan 71938 73.6 Con NDP Lib Other Grn Bloc 0.0 73.6 2.2 10.0 12.0 2.2
48033 AB Edmonton and around Sturgeon River–Parkland 67231 77.6 Con NDP Lib Other Grn Bloc 0.0 77.6 2.5 6.8 10.1 3.0
48034 AB Rural Alberta Yellowhead 54961 82.3 Con NDP Lib Other Grn Bloc 0.0 82.3 2.2 5.2 6.9 3.4
59001 BC Fraser Valley and S Lower M Abbotsford 48548 51.6 Con Lib NDP Grn Other Bloc 0.0 51.6 7.5 21.5 16.8 2.6
59002 BC Vancouver and N Lower Main Burnaby North–Seymour 48988 35.5 Lib NDP Con Grn Other Bloc 0.0 19.5 9.5 35.5 32.3 3.1
59003 BC Vancouver and N Lower Main Burnaby South 44701 37.5 NDP Con Lib Grn Other Bloc 0.0 31.1 5.6 23.8 37.5 2.1
59004 BC BC Interior - North Cariboo–Prince George 54126 52.8 Con Lib NDP Grn Other Bloc 0.0 52.8 9.1 19.9 15.4 2.8
59005 BC BC Interior - SE Central Okanagan–Similkameen–Nicola 63436 47.9 Con Lib NDP Grn Other Bloc 0.0 47.9 7.7 25.0 17.0 2.4
59006 BC Fraser Valley and S Lower M Chilliwack–Hope 53272 49.7 Con Lib NDP Grn Other Bloc 0.0 49.7 9.7 20.2 16.6 3.8
59007 BC Fraser Valley and S Lower M Cloverdale–Langley City 55058 37.7 Con Lib NDP Grn Other Bloc 0.0 37.7 6.4 35.4 18.9 1.7
59008 BC Vancouver and N Lower Main Coquitlam–Port Coquitlam 56634 34.6 Lib Con NDP Grn Other Bloc 0.0 34.0 6.9 34.6 23.1 1.4
59009 BC Vancouver Island Courtenay–Alberni 71173 41.3 NDP Con Grn Lib Other Bloc 0.0 33.0 13.4 12.0 41.3 0.2
59010 BC Vancouver Island Cowichan–Malahat–Langford 63802 36.2 NDP Con Grn Lib Other Bloc 0.0 25.8 20.2 15.9 36.2 2.0
59011 BC Fraser Valley and S Lower M Delta 53288 41.2 Lib Con NDP Grn Other Bloc 0.0 33.1 6.2 41.2 16.2 3.2
59012 BC Fraser Valley and S Lower M Fleetwood–Port Kells 48194 37.7 Lib Con NDP Grn Other Bloc 0.0 33.9 4.8 37.7 21.4 2.2
59013 BC BC Interior - SE Kamloops–Thompson–Cariboo 71703 44.7 Con Lib NDP Grn Other Bloc 0.0 44.7 12.1 27.3 13.7 2.2
59014 BC BC Interior - SE Kelowna–Lake Country 67865 45.7 Con Lib NDP Grn Other Bloc 0.0 45.7 7.4 32.6 12.1 2.1
59015 BC BC Interior - SE Kootenay–Columbia 66327 45.1 Con NDP Lib Grn Other Bloc 0.0 45.1 9.0 9.1 34.2 2.6
59016 BC Fraser Valley and S Lower M Langley–Aldergrove 61537 47.0 Con Lib NDP Grn Other Bloc 0.0 47.0 7.6 25.5 16.9 2.9
59017 BC Fraser Valley and S Lower M Mission–Matsqui–Fraser Canyon 45743 42.1 Con Lib NDP Grn Other Bloc 0.0 42.1 10.9 26.3 17.5 3.2
59018 BC Vancouver Island Nanaimo–Ladysmith 71134 34.5 Grn Con NDP Lib Other Bloc 0.0 25.9 34.5 13.6 23.7 2.3
59019 BC Vancouver and N Lower Main New Westminster–Burnaby 52108 44.2 NDP Lib Con Grn Other Bloc 0.0 21.6 8.2 23.5 44.2 2.5
59020 BC BC Interior - SE North Okanagan–Shuswap 73273 48.8 Con Lib NDP Grn Other Bloc 0.0 48.8 10.5 22.7 15.3 2.7
59021 BC Vancouver and N Lower Main North Vancouver 61874 42.7 Lib Con NDP Grn Other Bloc 0.0 27.1 12.4 42.7 16.3 1.5
59022 BC Fraser Valley and S Lower M Pitt Meadows–Maple Ridge 53707 36.3 Con Lib NDP Grn Other Bloc 0.0 36.3 7.9 29.7 23.8 2.2
59023 BC Vancouver and N Lower Main Port Moody–Coquitlam 52929 31.3 Con NDP Lib Grn Other Bloc 0.0 31.3 7.2 29.1 30.7 1.6
59024 BC BC Interior - North Prince George–Peace River–Northern Rockies 54597 69.9 Con Lib NDP Grn Other Bloc 0.0 69.9 6.2 11.5 9.2 3.2
59025 BC Fraser Valley and S Lower M Richmond Centre 38142 49.3 Con Lib NDP Grn Other Bloc 0.0 49.3 6.1 28.4 14.4 1.9
59026 BC Vancouver Island Esquimalt–Saanich–Sooke 69003 34.1 NDP Grn Con Lib Other Bloc 0.0 18.9 26.3 17.9 34.1 2.8
59027 BC Vancouver Island Saanich–Gulf Islands 66309 48.8 Grn Con Lib NDP Other Bloc 0.0 20.4 48.8 16.8 12.7 1.4
59028 BC BC Interior - North Skeena–Bulkley Valley 40795 40.9 NDP Con Lib Grn Other Bloc 0.0 33.4 7.8 11.5 40.9 6.4
59029 BC BC Interior - SE South Okanagan–West Kootenay 66761 36.4 NDP Con Lib Grn Other Bloc 0.0 35.2 8.3 17.2 36.4 2.9
59030 BC Fraser Valley and S Lower M South Surrey–White Rock 57120 42.1 Con Lib NDP Grn Other Bloc 0.0 42.1 7.6 37.3 11.5 1.5
59031 BC Fraser Valley and S Lower M Steveston–Richmond East 41084 41.8 Con Lib NDP Grn Other Bloc 0.0 41.8 6.9 35.0 15.0 1.2
59032 BC Fraser Valley and S Lower M Surrey Centre 40825 37.4 Lib NDP Con Grn Other Bloc 0.0 25.5 6.1 37.4 27.4 3.6
59033 BC Fraser Valley and S Lower M Surrey–Newton 40658 45.1 Lib NDP Con Grn Other Bloc 0.0 20.9 3.2 45.1 29.2 1.6
59034 BC Vancouver and N Lower Main Vancouver Centre 52950 42.1 Lib NDP Con Grn Other Bloc 0.0 19.3 12.4 42.1 23.8 2.3
59035 BC Vancouver and N Lower Main Vancouver East 54222 52.5 NDP Lib Grn Con Other Bloc 0.0 12.2 14.4 18.1 52.5 2.8
59036 BC Vancouver and N Lower Main Vancouver Granville 51202 33.1 Other Lib Con NDP Grn Bloc 0.0 22.1 5.0 26.6 13.1 33.1
59037 BC Vancouver Island North Island–Powell River 62126 37.8 NDP Con Grn Lib Other Bloc 0.0 32.4 14.3 13.1 37.8 2.4
59038 BC Vancouver and N Lower Main Vancouver Kingsway 43251 48.9 NDP Lib Con Grn Other Bloc 0.0 20.1 6.0 23.1 48.9 1.8
59039 BC Vancouver and N Lower Main Vancouver Quadra 49314 43.4 Lib Con NDP Grn Other Bloc 0.0 28.0 12.3 43.4 15.1 1.2
59040 BC Vancouver and N Lower Main Vancouver South 42407 41.1 Lib Con NDP Grn Other Bloc 0.0 33.5 5.6 41.1 18.5 1.2
59041 BC Vancouver Island Victoria 70073 33.2 NDP Grn Lib Con Other Bloc 0.0 12.6 29.7 22.4 33.2 2.0
59042 BC Vancouver and N Lower Main West Vancouver–Sunshine Coast–Sea to Sky Country 63501 34.9 Lib Con Grn NDP Other Bloc 0.0 26.9 22.2 34.9 13.9 2.1
60001 North North Yukon 20490 33.4 Lib Con NDP Grn Other Bloc 0.0 33.1 10.3 33.4 21.8 1.4
61001 North North Northwest Territories 16588 40.0 Lib Con NDP Grn Other Bloc 0.0 25.8 10.6 40.0 21.8 1.8
62001 North North Nunavut 9031 41.2 NDP Lib Con Grn Bloc Other 0.0 25.8 2.1 31.0 41.2 0.0

4.3.2 Interactive Table

4.4 Finding “win-win” winnable riding pairs

Tables 3 shows the ridings where Liberals and NDP did not win, but they could have both won more seats, if they teamed up. Similarly, Table 4 shows the ridings where NDP and Green did not win, but could have, if they cooperated with each other.

The tables are sorted by province and then by proximity of the party Alliance pair to the winner and the inter-party vote difference within the Alliance pair. The formula to identify these ridings is provided. A threshold proximityToWinner (currently set to 10%) is used to find the ridings where the combined number of votes for alliance parties is larger (or close up to 10%) than the number of votes the party who past the post first (shown in Column 1st).

Looking at these tables, one can identify pairs (or tuples) of regions, where disadvantaged parties can both win.

Critically, it is important to note that both participating parties would have won more seats in each identified riding pairs. This is why it is called a “win-win” strategy. Parties with small number of votes who drop their candidates in the identified riding, have anything to lose, while allowing the partnering party to win. in exchange however the other party would do the same in another riding identifies using the table.

  dtByProvince %>%  d7.datatable
  dtByRiding %>%  d7.datatable
  dtBias[order(-total,Bias)] %>% d7.datatable
  dtByRiding1[ order(-get(colTogetherOver1st) ) ]   %>% d7.datatable(1,2)
# 
# input$proximityToWinner <- 10
# 
# dtByRiding[`1`!="NDP" & `1`!="Lib" & `1st-(Lib+NDP)` < input$proximityToWinner ][order(Province, `1st-(Lib+NDP)`, `Lib-NDP`)] %>%
#   setcolorder(c("1st-(Lib+NDP)", "Lib-NDP")) %>%   kable(    caption = "Table 3: Opportunities for Liberal-NDP Alliances" )
# dtByRiding[`1`!="NDP" &`1`!="Grn" & `1st-(NDP+Grn)`< input$proximityToWinner][order(`1st-(NDP+Grn)`, `NDP-Grn`)]  %>% 
#   setcolorder(c("1st-(NDP+Grn)", "NDP-Grn")) %>%   kable(  caption = "Table 4: Opportunities for NDP-Green Alliances" )

4.4.1 Summary

It is seen that in many egions there are ridings where inter-party vote difference is both negative and positive. It is this observation that enables both involved parties to benefit from cooperation with each other. Simply, by agreeing that both parties will not run (i.e. will cooperate with each other) where their Alliance partner has more votes, will allow the partnering party to gain enough votes to win.

5 Next Steps

The idea is to make the Web App that will be fully automated. For each region, it will find automatically the ridings, where the parties who cannot win without Alliance, can win with Alliance. (In probabilistic sense, of course, based on the poll results)

The App will be fully automated, party and region agnostic, meaning that any party that is identified by the App as a “disadvantaged party” in a given region (i.e. as the party with large negative FPTP bias in that region) will be given automatically recommendations by the App related to which other party to make an Alliance and in which ridings of that region.